It will be appreciated that there are various integer strings which are created by various coding systems, both in nature and through either inadvertent action of a system, such as a communication system, or by design, such as format codes, programming languages, error-detection, or encoding systems. Aside from computer generated binary coding sequences involving integer strings, genetic engineering has provided the opportunity to ascertain genetic coding through analysis of coding sequences corresponding to various genes or portions of genes. For instance, it is now possible to ascertain the biologic rules governing genetic make-up through characterizing a genetic code by a series of integers.
The ability to derive rules from those sequences so as to be able to successfully predict succeeding numbers in a series is valuable if an algorithm or set of algorithms can predict a successor to an arbitrary predecessor. Traditionally, this has been the realm of I.Q. testing or other tests measuring the intelligence of human beings. But human trial-and-error methods are very limited in quickly deriving rules for large amounts of integer number sequences.
In the field of information transmission through communication channels one often finds systematic distortions of signals as opposed to random noise. These systematic distortions result from interaction of the input with characteristic features of the channel itself. It is of interest for both the sender and receiver of a message that the input signal or information is communicated as correctly as possible through the channel. For this purpose, various error correction schemes exist, to provide error-free transmission of the information of the sender, usually by feed-back systems which predistort the transmitted signal for channel induced systematic errors.
By way of further background, the automatic evolution of algorithms in machines has been studied in recent years for various purposes. Based on a collection of building blocks for algorithms that can be combined to provide different algorithms, a variety of behaviour is provided that can be evaluated against the actual computational task at hand. There exist various error measures used in the field of neural networks which are available for measuring the success of failures of a particular algorithm. In the neural network field, however, the mechanisms of computation are completely different, and it is not possible to encode rules in a compact description. Rather the systems have a tendency to "memorize" string patterns, and to make predictions on that basis.
J. Koza of Stanford Univ. has studied the evolution of algorithms in a symbolic computer language like LISP, by manipulating strings that are commands of that high-level language. In the Koza approach, one applies a sort of symbolic Genetic Algorithm with the symbols being chosen from a set of functions and terminals. A function is generally defined as an operator or active unit that possesses one or more arguments on which it acts, which are themselves either functions or terminals. A terminal is an operand or passive unit, on which the function that possesses this operand acts on.
From the set of accessible functions and terminals computer programs are composed by forming symbolic expressions called S-expressions. These symbolic expressions are subsequently interpreted and evaluated using given input/output pairs for the anticipated behavior of the targeted computer program or algorithm. A selection process then singles out fitter programs which are reproduced and mutated for a next generation of programs.
The disadvantage of such a system is that it is slow because it uses symbolic expressions and because of the complicated combination processes between strings that have to be applied in order to arrive at new variations of strings that correspond to algorithms.
For further background, the following is a list of articles describing prior methods useful in the prediction of integer number sequences.
D. E. Goldberg. Genetic Algorithms in Search, Optimization & machine Learning. Adison-Wesley, New York, 1989; J. Holland. Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, 1975; S. Kirkpatrick et al., Simulated Annealing, Science, Vol 220, 1983, p. 671; N. Metropolis, J. Chem. Phys., Vol. 21, 1953, p. 1087; J. Koza. Genetic Programming. MIT Press, 1992, Cambridge; J. Koza. Hierarchical Genetic Algorithms operating on populations of computer programs. Proc. 11th IJCAI, 1989, Morgan Kauffman, San Mateo, Calif., 1989; M. R. Schroeder. Number Theory in Science and Communication. Springer, Berlin, 1986; C. E. Shannon. A mathematical theory of communication. Bell System Technical Journal, 27, 1948, 379.